# ==================================
#
#  Code for replicating:
# "Positioning Under Alternative Electoral Systems: Evidence From Japanese Candidate Election Manifestos"
#  Amy Catalinac, NYU
#
# ==================================



# ==================================
# Number of words in the manifestos:
# Excluding punctuation and numbers but prior to preprocessing:

load(file="wordcount_befPP.Rdata") # saved as new.res2
nc <- colSums(new.res2[,4:7500])
te <- data.frame(nc)
te$year <- substr(rownames(te), start=1, stop=4)
words.by.year <- by(te, list(te$year), function(x) quantile(x[,1]))
words.by.year
rm(list=ls())




# ==================================
# Number of words in the manifestos:
# After preprocessing:
# (Figure 1, Online Appendix)

load(file="1986_words_afPP.Rdata")
load(file="1990_words_afPP.Rdata")
load(file="1993_words_afPP.Rdata")
load(file="1996_words_afPP.Rdata")
load(file="2000_words_afPP.Rdata")
load(file="2003_words_afPP.Rdata")
load(file="2005_words_afPP.Rdata")
load(file="2009_words_afPP.Rdata")

words.1986 <- apply(res.1986, 2, sum)
summary(words.1986)
words.1990 <- apply(res.1990, 2, sum)
summary(words.1990)
words.1993 <- apply(res.1993, 2, sum)
summary(words.1993)
words.1996 <- apply(res.1996, 2, sum)
summary(words.1996)
words.2000 <- apply(res.2000, 2, sum)
summary(words.2000)
words.2003 <- apply(res.2003, 2, sum)
summary(words.2003)
words.2005 <- apply(res.2005, 2, sum)
summary(words.2005)
words.2009 <- apply(res.2009, 2, sum)
summary(words.2009)

lmts <- range(0, 600)

par(mfrow = c(2, 4), mar = c(4,4,2,1), tcl = -0.25, mgp = c(1.75, 0.6, 0),
    font.main = 1, cex.main = 2)
hist(words.1986, main="1986 (n=800)", xlab="",
     xlim=lmts,  cex.lab=1.5)
abline(v=median(words.1986), lty=3, col="blue", lwd=3)
hist(words.1990, main="1990 (n=854)", xlab="",
     xlim=lmts,  cex.lab=1.5)
abline(v=median(words.1990), lty=3, col="blue", lwd=3)
hist(words.1993, main="1993 (n=866)", xlab="",
     xlim=lmts,  cex.lab=1.5)
abline(v=median(words.1993), lty=3, col="blue", lwd=3)
hist(words.1996, main="1996 (n=1,126)", xlab="",
     xlim=lmts,  cex.lab=1.5)
abline(v=median(words.1996), lty=3, col="blue", lwd=3)
hist(words.2000, main="2000 (n=1,070)", xlab="",
     xlim=lmts,  cex.lab=1.5)
abline(v=median(words.2000), lty=3, col="blue", lwd=3)
hist(words.2003, main="2003 (n=994)", xlab="",
     xlim=lmts,  cex.lab=1.5)
abline(v=median(words.2003), lty=3, col="blue", lwd=3)
hist(words.2005, main="2005 (n=966)", xlab="",
     xlim=lmts,  cex.lab=1.5)
abline(v=median(words.2005), lty=3, col="blue", lwd=3)
hist(words.2009, main="2009 (n=821)", xlab="",
     xlim=lmts,  cex.lab=1.5)
abline(v=median(words.2009), lty=3, col="blue", lwd=3)

rm(list=ls())


# ==================================
# Number of words in the manifestos:
# After preprocessing, by party-year:
# (Figure 2 in Online Appendix)

load("1986_wordspty_afPP.Rdata")
load("1990_wordspty_afPP.Rdata")
load("1993_wordspty_afPP.Rdata")
load("1996_wordspty_afPP.Rdata")
load("2000_wordspty_afPP.Rdata")
load("2003_wordspty_afPP.Rdata")
load("2005_wordspty_afPP.Rdata")
load("2009_wordspty_afPP.Rdata")

### 1986

pos.by.pty.1986 <- as.data.frame(as.matrix(by(mer.86, mer.86$pty, function(x) mean(x[,2]))))
se <- function(x) sqrt(var(x)/length(x))
se.by.pty.1986 <- by(mer.86, mer.86$pty, function(x) se(x[,2]))

pos.by.pty.1986.2 <- cbind(as.vector(pos.by.pty.1986), as.vector(se.by.pty.1986), rownames(pos.by.pty.1986)) ## attachs rownames on as another column.
colnames(pos.by.pty.1986.2) <- c("mean.pos", "se.pos", "pty")
pos.by.pty.1986.2
pos.by.pty.1986.3 <- pos.by.pty.1986.2[order(pos.by.pty.1986.2$mean.pos),]
pos.by.pty.1986.3

pos.by.pty.1986.3$ptyname <- rep(NA, nrow(pos.by.pty.1986))

# assign actual names here
pos.by.pty.1986.3[pos.by.pty.1986.3$pty==1,]$ptyname <- "LDP"
pos.by.pty.1986.3[pos.by.pty.1986.3$pty==2,]$ptyname <- "JSP" 
pos.by.pty.1986.3[pos.by.pty.1986.3$pty==3,]$ptyname <- "Komeito" 
pos.by.pty.1986.3[pos.by.pty.1986.3$pty==4,]$ptyname <- "DSP" 
pos.by.pty.1986.3[pos.by.pty.1986.3$pty==5,]$ptyname <- "JCP"
pos.by.pty.1986.3[pos.by.pty.1986.3$pty==8,]$ptyname <- "SDL"
pos.by.pty.1986.3[pos.by.pty.1986.3$pty==6,]$ptyname <- "NLC"

pos.by.pty.1986.3
range(pos.by.pty.1986.3$mean.pos)
# 132 232

# graphing it:

par(mfrow = c(4, 2), mar = c(3,4,2,1), tcl = -0.25, mgp = c(1.75, 0.6, 0),
    font.main = 1, cex.main = 2)

dotchart(pos.by.pty.1986.3[pos.by.pty.1986.3$pty==1|
                             pos.by.pty.1986.3$pty==2|
                             pos.by.pty.1986.3$pty==3|
                             pos.by.pty.1986.3$pty==4|
                             pos.by.pty.1986.3$pty==5|
                             pos.by.pty.1986.3$pty==6|
                             pos.by.pty.1986.3$pty==8,]$mean.pos, 
         labels=pos.by.pty.1986.3[pos.by.pty.1986.3$pty==1|
                                    pos.by.pty.1986.3$pty==2|
                                    pos.by.pty.1986.3$pty==3|
                                    pos.by.pty.1986.3$pty==4|
                                    pos.by.pty.1986.3$pty==5|
                                    pos.by.pty.1986.3$pty==6|
                                    pos.by.pty.1986.3$pty==8,]$ptyname, 
         pch=20,
         xlab="Number of Words (1986)", 
         xlim=c(128, 260),
         cex=1)

#### Plot confidence intervals for these seven parties.

ldp.upp <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==1,]$mean.pos + (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==1,]$se.pos)
ldp.low <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==1,]$mean.pos - (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==1,]$se.pos)

conf.ldp <- c(ldp.upp, ldp.low)
conf.ldp

jsp.upp <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==2,]$mean.pos + (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==2,]$se.pos)
jsp.low <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==2,]$mean.pos - (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==2,]$se.pos)

conf.jsp <- c(jsp.upp, jsp.low)
conf.jsp

kom.upp <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==3,]$mean.pos + (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==3,]$se.pos)
kom.low <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==3,]$mean.pos - (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==3,]$se.pos)

conf.kom <- c(kom.upp, kom.low)
conf.kom

dsp.upp <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==4,]$mean.pos + (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==4,]$se.pos)
dsp.low <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==4,]$mean.pos - (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==4,]$se.pos)

conf.dsp <- c(dsp.upp, dsp.low)
conf.dsp

jcp.upp <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==5,]$mean.pos + (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==5,]$se.pos)
jcp.low <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==5,]$mean.pos - (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==5,]$se.pos)

conf.jcp <- c(jcp.upp, jcp.low)
conf.jcp

nlc.upp <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==6,]$mean.pos + (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==6,]$se.pos)
nlc.low <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==6,]$mean.pos - (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==6,]$se.pos)

conf.nlc <- c(nlc.upp, nlc.low)
conf.nlc

sdl.upp <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==8,]$mean.pos + (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==8,]$se.pos)
sdl.low <- pos.by.pty.1986.3[pos.by.pty.1986.3$pty==8,]$mean.pos - (1.96*pos.by.pty.1986.3[pos.by.pty.1986.3$pty==8,]$se.pos)

conf.sdl <- c(sdl.upp, sdl.low)
conf.sdl

### need to put these on at the end, because it is already sorted in terms of left and right.
lines(x=c(nlc.upp, nlc.low), y=c(7,7), lwd=2)
lines(x=c(jcp.upp, jcp.low), y=c(6,6), lwd=2)
lines(x=c(ldp.upp, ldp.low), y=c(5,5), lwd=2)
lines(x=c(jsp.upp, jsp.low), y=c(4,4), lwd=2)
lines(x=c(dsp.upp, dsp.low), y=c(3,3), lwd=2)
lines(x=c(kom.upp, kom.low), y=c(2,2), lwd=2)
lines(x=c(sdl.upp, sdl.low), y=c(1,1), lwd=2)

# 1990

pos.by.pty.1990 <- as.data.frame(as.matrix(by(mer.90, mer.90$pty, function(x) mean(x[,2]))))
se <- function(x) sqrt(var(x)/length(x))
se.by.pty.1990 <- by(mer.90, mer.90$pty, function(x) se(x[,2]))

pos.by.pty.1990.2 <- cbind(as.vector(pos.by.pty.1990), as.vector(se.by.pty.1990), rownames(pos.by.pty.1990)) ## attachs rownames on as another column.
colnames(pos.by.pty.1990.2) <- c("mean.pos", "se.pos", "pty")
pos.by.pty.1990.2
pos.by.pty.1990.3 <- pos.by.pty.1990.2[order(pos.by.pty.1990.2$mean.pos),]
pos.by.pty.1990.3

pos.by.pty.1990.3$ptyname <- rep(NA, nrow(pos.by.pty.1990))

# assign actual names here
pos.by.pty.1990.3[pos.by.pty.1990.3$pty==1,]$ptyname <- "LDP"
pos.by.pty.1990.3[pos.by.pty.1990.3$pty==2,]$ptyname <- "JSP" 
pos.by.pty.1990.3[pos.by.pty.1990.3$pty==3,]$ptyname <- "Komeito" 
pos.by.pty.1990.3[pos.by.pty.1990.3$pty==4,]$ptyname <- "DSP" 
pos.by.pty.1990.3[pos.by.pty.1990.3$pty==5,]$ptyname <- "JCP"
pos.by.pty.1990.3[pos.by.pty.1990.3$pty==8,]$ptyname <- "SDL"
pos.by.pty.1990.3[pos.by.pty.1990.3$pty==24,]$ptyname <- "Progressives"

pos.by.pty.1990.3
range(pos.by.pty.1990.3$mean.pos)
# 132 232

# graphing it:

dotchart(pos.by.pty.1990.3[pos.by.pty.1990.3$pty==1|
                             pos.by.pty.1990.3$pty==2|
                             pos.by.pty.1990.3$pty==3|
                             pos.by.pty.1990.3$pty==4|
                             pos.by.pty.1990.3$pty==5|
                             pos.by.pty.1990.3$pty==8|
                             pos.by.pty.1990.3$pty==24,]$mean.pos, 
         labels=pos.by.pty.1990.3[pos.by.pty.1990.3$pty==1|
                                    pos.by.pty.1990.3$pty==2|
                                    pos.by.pty.1990.3$pty==3|
                                    pos.by.pty.1990.3$pty==4|
                                    pos.by.pty.1990.3$pty==5|
                                    pos.by.pty.1990.3$pty==8|
                                    pos.by.pty.1990.3$pty==24,]$ptyname, 
         pch=20,
         xlab="Number of Words (1990)", xlim=c(90, 250), cex=1)


#### Plot confidence intervals for these seven parties.

ldp.upp <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==1,]$mean.pos + (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==1,]$se.pos)
ldp.low <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==1,]$mean.pos - (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==1,]$se.pos)

conf.ldp <- c(ldp.upp, ldp.low)
conf.ldp

jsp.upp <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==2,]$mean.pos + (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==2,]$se.pos)
jsp.low <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==2,]$mean.pos - (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==2,]$se.pos)

conf.jsp <- c(jsp.upp, jsp.low)
conf.jsp

kom.upp <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==3,]$mean.pos + (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==3,]$se.pos)
kom.low <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==3,]$mean.pos - (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==3,]$se.pos)

conf.kom <- c(kom.upp, kom.low)
conf.kom

dsp.upp <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==4,]$mean.pos + (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==4,]$se.pos)
dsp.low <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==4,]$mean.pos - (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==4,]$se.pos)

conf.dsp <- c(dsp.upp, dsp.low)
conf.dsp

jcp.upp <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==5,]$mean.pos + (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==5,]$se.pos)
jcp.low <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==5,]$mean.pos - (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==5,]$se.pos)

conf.jcp <- c(jcp.upp, jcp.low)
conf.jcp

sdl.upp <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==8,]$mean.pos + (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==8,]$se.pos)
sdl.low <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==8,]$mean.pos - (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==8,]$se.pos)

conf.sdl <- c(sdl.upp, sdl.low)
conf.sdl

pro.upp <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==24,]$mean.pos + (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==24,]$se.pos)
pro.low <- pos.by.pty.1990.3[pos.by.pty.1990.3$pty==24,]$mean.pos - (1.96*pos.by.pty.1990.3[pos.by.pty.1990.3$pty==24,]$se.pos)

conf.pro <- c(pro.upp, pro.low)
conf.pro

lines(x=c(pro.upp, pro.low), y=c(6,6), lwd=2)
lines(x=c(kom.upp, kom.low), y=c(1,1), lwd=2)
lines(x=c(ldp.upp, ldp.low), y=c(7,7), lwd=2)
lines(x=c(sdl.upp, sdl.low), y=c(2,2), lwd=2)
lines(x=c(dsp.upp, dsp.low), y=c(5,5), lwd=2)
lines(x=c(jsp.upp, jsp.low), y=c(4,4), lwd=2)
lines(x=c(jcp.upp, jcp.low), y=c(3,3), lwd=2)

# 1993
pos.by.pty.1993 <- as.data.frame(as.matrix(by(mer.93, mer.93$pty, function(x) mean(x[,2]))))
se <- function(x) sqrt(var(x)/length(x))
se.by.pty.1993 <- by(mer.93, mer.93$pty, function(x) se(x[,2]))

pos.by.pty.1993.2 <- cbind(as.vector(pos.by.pty.1993), as.vector(se.by.pty.1993), rownames(pos.by.pty.1993)) ## attachs rownames on as another column.
colnames(pos.by.pty.1993.2) <- c("mean.pos", "se.pos", "pty")
pos.by.pty.1993.2
pos.by.pty.1993.3 <- pos.by.pty.1993.2[order(pos.by.pty.1993.2$mean.pos),]
pos.by.pty.1993.3

pos.by.pty.1993.3$ptyname <- rep(NA, nrow(pos.by.pty.1993))

# assign actual names here
pos.by.pty.1993.3[pos.by.pty.1993.3$pty==1,]$ptyname <- "LDP"
pos.by.pty.1993.3[pos.by.pty.1993.3$pty==2,]$ptyname <- "JSP" 
pos.by.pty.1993.3[pos.by.pty.1993.3$pty==3,]$ptyname <- "Komeito" 
pos.by.pty.1993.3[pos.by.pty.1993.3$pty==4,]$ptyname <- "DSP" 
pos.by.pty.1993.3[pos.by.pty.1993.3$pty==5,]$ptyname <- "JCP"
pos.by.pty.1993.3[pos.by.pty.1993.3$pty==6,]$ptyname <- "Shinsei"
pos.by.pty.1993.3[pos.by.pty.1993.3$pty==7,]$ptyname <- "Sakigake"
pos.by.pty.1993.3[pos.by.pty.1993.3$pty==9,]$ptyname <- "JNP"

pos.by.pty.1993.3
range(pos.by.pty.1993.3$mean.pos)
# 61 229

# graphing it:

dotchart(pos.by.pty.1993.3[pos.by.pty.1993.3$pty==1|
                             pos.by.pty.1993.3$pty==2|
                             pos.by.pty.1993.3$pty==3|
                             pos.by.pty.1993.3$pty==4|
                             pos.by.pty.1993.3$pty==5|
                             pos.by.pty.1993.3$pty==6|
                             pos.by.pty.1993.3$pty==7|
                             pos.by.pty.1993.3$pty==9,]$mean.pos, 
         labels=pos.by.pty.1993.3[pos.by.pty.1993.3$pty==1|
                                    pos.by.pty.1993.3$pty==2|
                                    pos.by.pty.1993.3$pty==3|
                                    pos.by.pty.1993.3$pty==4|
                                    pos.by.pty.1993.3$pty==5|
                                    pos.by.pty.1993.3$pty==6|
                                    pos.by.pty.1993.3$pty==7|
                                    pos.by.pty.1993.3$pty==9,]$ptyname, 
         pch=20,
         xlab="Number of Words (1993)", xlim=c(120, 235), cex=1)


#### Plot confidence intervals for these seven parties.

ldp.upp <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==1,]$mean.pos + (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==1,]$se.pos)
ldp.low <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==1,]$mean.pos - (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==1,]$se.pos)

conf.ldp <- c(ldp.upp, ldp.low)
conf.ldp

jsp.upp <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==2,]$mean.pos + (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==2,]$se.pos)
jsp.low <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==2,]$mean.pos - (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==2,]$se.pos)

conf.jsp <- c(jsp.upp, jsp.low)
conf.jsp

kom.upp <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==3,]$mean.pos + (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==3,]$se.pos)
kom.low <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==3,]$mean.pos - (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==3,]$se.pos)

conf.kom <- c(kom.upp, kom.low)
conf.kom

dsp.upp <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==4,]$mean.pos + (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==4,]$se.pos)
dsp.low <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==4,]$mean.pos - (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==4,]$se.pos)

conf.dsp <- c(dsp.upp, dsp.low)
conf.dsp

jcp.upp <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==5,]$mean.pos + (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==5,]$se.pos)
jcp.low <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==5,]$mean.pos - (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==5,]$se.pos)

conf.jcp <- c(jcp.upp, jcp.low)
conf.jcp

shin.upp <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==6,]$mean.pos + (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==6,]$se.pos)
shin.low <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==6,]$mean.pos - (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==6,]$se.pos)

conf.shin <- c(shin.upp, shin.low)
conf.shin

saki.upp <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==7,]$mean.pos + (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==7,]$se.pos)
saki.low <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==7,]$mean.pos - (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==7,]$se.pos)

conf.saki <- c(saki.upp, saki.low)
conf.saki

jnp.upp <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==9,]$mean.pos + (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==9,]$se.pos)
jnp.low <- pos.by.pty.1993.3[pos.by.pty.1993.3$pty==9,]$mean.pos - (1.96*pos.by.pty.1993.3[pos.by.pty.1993.3$pty==9,]$se.pos)

conf.jnp <- c(jnp.upp, jnp.low)
conf.jnp
lines(x=c(ldp.upp, ldp.low), y=c(7,7), lwd=2)
lines(x=c(saki.upp, saki.low), y=c(4,4), lwd=2)
lines(x=c(jnp.upp, jnp.low), y=c(3,3), lwd=2)
lines(x=c(shin.upp, shin.low), y=c(5,5), lwd=2)
lines(x=c(dsp.upp, dsp.low), y=c(2,2), lwd=2)
lines(x=c(kom.upp, kom.low), y=c(1,1), lwd=2)
lines(x=c(jsp.upp, jsp.low), y=c(6,6), lwd=2)
lines(x=c(jcp.upp, jcp.low), y=c(8,8), lwd=2)

# 1996

pos.by.pty.1996 <- as.data.frame(as.matrix(by(mer.96, mer.96$pty, function(x) mean(x[,2]))))
se <- function(x) sqrt(var(x)/length(x))
se.by.pty.1996 <- by(mer.96, mer.96$pty, function(x) se(x[,2]))

pos.by.pty.1996.2 <- cbind(as.vector(pos.by.pty.1996), as.vector(se.by.pty.1996), rownames(pos.by.pty.1996)) ## attachs rownames on as another column.
colnames(pos.by.pty.1996.2) <- c("mean.pos", "se.pos", "pty")
pos.by.pty.1996.2
pos.by.pty.1996.3 <- pos.by.pty.1996.2[order(pos.by.pty.1996.2$mean.pos),]
pos.by.pty.1996.3

pos.by.pty.1996.3$ptyname <- rep(NA, nrow(pos.by.pty.1996))

# assign actual names here
pos.by.pty.1996.3[pos.by.pty.1996.3$pty==1,]$ptyname <- "LDP"
pos.by.pty.1996.3[pos.by.pty.1996.3$pty==5,]$ptyname <- "JCP"
pos.by.pty.1996.3[pos.by.pty.1996.3$pty==7,]$ptyname <- "Sakigake"
pos.by.pty.1996.3[pos.by.pty.1996.3$pty==52,]$ptyname <- "DPJ"
pos.by.pty.1996.3[pos.by.pty.1996.3$pty==54,]$ptyname <- "NFP"
pos.by.pty.1996.3[pos.by.pty.1996.3$pty==58,]$ptyname <- "SDP"
pos.by.pty.1996.3[pos.by.pty.1996.3$pty==71,]$ptyname <- "Lib Alliance"
pos.by.pty.1996.3[pos.by.pty.1996.3$pty==72,]$ptyname <- "NSP"

pos.by.pty.1996.3
range(pos.by.pty.1996.3$mean.pos)

# graphing it:

dotchart(pos.by.pty.1996.3[pos.by.pty.1996.3$pty==1|
                             pos.by.pty.1996.3$pty==5|
                             pos.by.pty.1996.3$pty==7|
                             pos.by.pty.1996.3$pty==52|
                             pos.by.pty.1996.3$pty==54|
                             pos.by.pty.1996.3$pty==58|
                             pos.by.pty.1996.3$pty==71|
                             pos.by.pty.1996.3$pty==72,]$mean.pos, 
         labels=pos.by.pty.1996.3[pos.by.pty.1996.3$pty==1|
                                    pos.by.pty.1996.3$pty==5|
                                    pos.by.pty.1996.3$pty==7|
                                    pos.by.pty.1996.3$pty==52|
                                    pos.by.pty.1996.3$pty==54|
                                    pos.by.pty.1996.3$pty==58|
                                    pos.by.pty.1996.3$pty==71|
                                    pos.by.pty.1996.3$pty==72,]$ptyname, 
         pch=20,
         xlab="Number of Words (1996)", xlim=c(100, 215), cex=1)

#### Plot confidence intervals for these seven parties.

ldp.upp <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==1,]$mean.pos + (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==1,]$se.pos)
ldp.low <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==1,]$mean.pos - (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==1,]$se.pos)

conf.ldp <- c(ldp.upp, ldp.low)
conf.ldp

jcp.upp <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==5,]$mean.pos + (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==5,]$se.pos)
jcp.low <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==5,]$mean.pos - (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==5,]$se.pos)

conf.jcp <- c(jcp.upp, jcp.low)
conf.jcp

saki.upp <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==7,]$mean.pos + (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==7,]$se.pos)
saki.low <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==7,]$mean.pos - (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==7,]$se.pos)

conf.saki <- c(saki.upp, saki.low)
conf.saki

dpj.upp <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==52,]$mean.pos + (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==52,]$se.pos)
dpj.low <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==52,]$mean.pos - (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==52,]$se.pos)

conf.dpj <- c(dpj.upp, dpj.low)
conf.dpj

nfp.upp <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==54,]$mean.pos + (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==54,]$se.pos)
nfp.low <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==54,]$mean.pos - (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==54,]$se.pos)

conf.nfp <- c(nfp.upp, nfp.low)
conf.nfp

sdp.upp <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==58,]$mean.pos + (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==58,]$se.pos)
sdp.low <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==58,]$mean.pos - (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==58,]$se.pos)

conf.sdp <- c(sdp.upp, sdp.low)
conf.sdp

liba.upp <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==71,]$mean.pos + (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==71,]$se.pos)
liba.low <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==71,]$mean.pos - (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==71,]$se.pos)

conf.liba <- c(liba.upp, liba.low)
conf.liba

nsp.upp <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==72,]$mean.pos + (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==72,]$se.pos)
nsp.low <- pos.by.pty.1996.3[pos.by.pty.1996.3$pty==72,]$mean.pos - (1.96*pos.by.pty.1996.3[pos.by.pty.1996.3$pty==72,]$se.pos)

conf.nsp <- c(nsp.upp, nsp.low)
conf.nsp

lines(x=c(ldp.upp, ldp.low), y=c(7,7), lwd=2)
lines(x=c(saki.upp, saki.low), y=c(3,3), lwd=2)
lines(x=c(liba.upp, liba.low), y=c(4,4), lwd=2)
lines(x=c(nfp.upp, nfp.low), y=c(6,6), lwd=2)
lines(x=c(dpj.upp, dpj.low), y=c(2,2), lwd=2)
lines(x=c(sdp.upp, sdp.low), y=c(5,5), lwd=2)
lines(x=c(nsp.upp, nsp.low), y=c(1,1), lwd=2)
lines(x=c(jcp.upp, jcp.low), y=c(8,8), lwd=2)

# 2000

pos.by.pty.2000 <- as.data.frame(as.matrix(by(mer.00, mer.00$pty, function(x) mean(x[,2]))))
se <- function(x) sqrt(var(x)/length(x))
se.by.pty.2000 <- by(mer.00, mer.00$pty, function(x) se(x[,2]))

pos.by.pty.2000.2 <- cbind(as.vector(pos.by.pty.2000), as.vector(se.by.pty.2000), rownames(pos.by.pty.2000)) ## attachs rownames on as another column.
colnames(pos.by.pty.2000.2) <- c("mean.pos", "se.pos", "pty")
pos.by.pty.2000.2
pos.by.pty.2000.3 <- pos.by.pty.2000.2[order(pos.by.pty.2000.2$mean.pos),]
pos.by.pty.2000.3

pos.by.pty.2000.3$ptyname <- rep(NA, nrow(pos.by.pty.2000))

# assign actual names here
pos.by.pty.2000.3[pos.by.pty.2000.3$pty==1,]$ptyname <- "LDP"
pos.by.pty.2000.3[pos.by.pty.2000.3$pty==3,]$ptyname <- "Komeito"
pos.by.pty.2000.3[pos.by.pty.2000.3$pty==5,]$ptyname <- "JCP"
pos.by.pty.2000.3[pos.by.pty.2000.3$pty==52,]$ptyname <- "DPJ"
pos.by.pty.2000.3[pos.by.pty.2000.3$pty==57,]$ptyname <- "Liberals"
pos.by.pty.2000.3[pos.by.pty.2000.3$pty==58,]$ptyname <- "SDP"
pos.by.pty.2000.3[pos.by.pty.2000.3$pty==71,]$ptyname <- "Lib Alliance"
pos.by.pty.2000.3[pos.by.pty.2000.3$pty==81,]$ptyname <- "Conservatives"

pos.by.pty.2000.3
range(pos.by.pty.2000.3$mean.pos)

# graphing it:

dotchart(pos.by.pty.2000.3[pos.by.pty.2000.3$pty==1|
                             pos.by.pty.2000.3$pty==3|
                             pos.by.pty.2000.3$pty==5|
                             pos.by.pty.2000.3$pty==52|
                             pos.by.pty.2000.3$pty==57|
                             pos.by.pty.2000.3$pty==58|
                             pos.by.pty.2000.3$pty==71|
                             pos.by.pty.2000.3$pty==81,]$mean.pos, 
         labels=pos.by.pty.2000.3[pos.by.pty.2000.3$pty==1|
                                    pos.by.pty.2000.3$pty==3|
                                    pos.by.pty.2000.3$pty==5|
                                    pos.by.pty.2000.3$pty==52|
                                    pos.by.pty.2000.3$pty==57|
                                    pos.by.pty.2000.3$pty==58|
                                    pos.by.pty.2000.3$pty==71|
                                    pos.by.pty.2000.3$pty==81,]$ptyname, 
         pch=20,
         xlab="Number of Words (2000)", xlim=c(100, 210), cex=1)

#### Plot confidence intervals for these seven parties.

ldp.upp <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==1,]$mean.pos + (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==1,]$se.pos)
ldp.low <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==1,]$mean.pos - (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==1,]$se.pos)

conf.ldp <- c(ldp.upp, ldp.low)
conf.ldp

kom.upp <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==3,]$mean.pos + (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==3,]$se.pos)
kom.low <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==3,]$mean.pos - (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==3,]$se.pos)

conf.kom <- c(kom.upp, kom.low)
conf.kom

jcp.upp <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==5,]$mean.pos + (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==5,]$se.pos)
jcp.low <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==5,]$mean.pos - (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==5,]$se.pos)

conf.jcp <- c(jcp.upp, jcp.low)
conf.jcp

dpj.upp <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==52,]$mean.pos + (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==52,]$se.pos)
dpj.low <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==52,]$mean.pos - (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==52,]$se.pos)

conf.dpj <- c(dpj.upp, dpj.low)
conf.dpj

libe.upp <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==57,]$mean.pos + (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==57,]$se.pos)
libe.low <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==57,]$mean.pos - (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==57,]$se.pos)

conf.libe <- c(libe.upp, libe.low)
conf.libe

sdp.upp <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==58,]$mean.pos + (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==58,]$se.pos)
sdp.low <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==58,]$mean.pos - (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==58,]$se.pos)

conf.sdp <- c(sdp.upp, sdp.low)
conf.sdp

liba.upp <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==71,]$mean.pos + (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==71,]$se.pos)
liba.low <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==71,]$mean.pos - (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==71,]$se.pos)

conf.liba <- c(liba.upp, liba.low)
conf.liba

cons.upp <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==81,]$mean.pos + (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==81,]$se.pos)
cons.low <- pos.by.pty.2000.3[pos.by.pty.2000.3$pty==81,]$mean.pos - (1.96*pos.by.pty.2000.3[pos.by.pty.2000.3$pty==81,]$se.pos)

conf.cons <- c(cons.upp, cons.low)
conf.cons

### need to put these on at the end, because it is already sorted in terms of left and right.
lines(x=c(ldp.upp, ldp.low), y=c(7,7), lwd=2)
lines(x=c(kom.upp, kom.low), y=c(2,2), lwd=2)
lines(x=c(libe.upp, libe.low), y=c(6,6), lwd=2)
lines(x=c(cons.upp, cons.low), y=c(3,3), lwd=2)
lines(x=c(dpj.upp, dpj.low), y=c(4,4), lwd=2)
lines(x=c(liba.upp, liba.low), y=c(1,1), lwd=2)
lines(x=c(sdp.upp, sdp.low), y=c(5,5), lwd=2)
lines(x=c(jcp.upp, jcp.low), y=c(8,8), lwd=2)

# 2003

pos.by.pty.2003 <- as.data.frame(as.matrix(by(mer.03, mer.03$pty, function(x) mean(x[,2]))))
se <- function(x) sqrt(var(x)/length(x))
se.by.pty.2003 <- by(mer.03, mer.03$pty, function(x) se(x[,2]))

pos.by.pty.2003.2 <- cbind(as.vector(pos.by.pty.2003), as.vector(se.by.pty.2003), rownames(pos.by.pty.2003)) ## attachs rownames on as another column.
colnames(pos.by.pty.2003.2) <- c("mean.pos", "se.pos", "pty")
pos.by.pty.2003.2
pos.by.pty.2003.3 <- pos.by.pty.2003.2[order(pos.by.pty.2003.2$mean.pos),]
pos.by.pty.2003.3

pos.by.pty.2003.3$ptyname <- rep(NA, nrow(pos.by.pty.2003))

# assign actual names here
pos.by.pty.2003.3[pos.by.pty.2003.3$pty==1,]$ptyname <- "LDP"
pos.by.pty.2003.3[pos.by.pty.2003.3$pty==3,]$ptyname <- "Komeito"
pos.by.pty.2003.3[pos.by.pty.2003.3$pty==5,]$ptyname <- "JCP"
pos.by.pty.2003.3[pos.by.pty.2003.3$pty==52,]$ptyname <- "DPJ"
pos.by.pty.2003.3[pos.by.pty.2003.3$pty==58,]$ptyname <- "SDP"
pos.by.pty.2003.3[pos.by.pty.2003.3$pty==81,]$ptyname <- "Conservatives"

pos.by.pty.2003.3
range(pos.by.pty.2003.3$mean.pos)
# graphing it:

dotchart(pos.by.pty.2003.3[pos.by.pty.2003.3$pty==1|
                             pos.by.pty.2003.3$pty==3|
                             pos.by.pty.2003.3$pty==5|
                             pos.by.pty.2003.3$pty==52|
                             pos.by.pty.2003.3$pty==58|
                             pos.by.pty.2003.3$pty==81,]$mean.pos, 
         labels=pos.by.pty.2003.3[pos.by.pty.2003.3$pty==1|
                                    pos.by.pty.2003.3$pty==3|
                                    pos.by.pty.2003.3$pty==5|
                                    pos.by.pty.2003.3$pty==52|
                                    pos.by.pty.2003.3$pty==58|
                                    pos.by.pty.2003.3$pty==81,]$ptyname, 
         pch=20,
         xlab="Number of Words (2003)",xlim=c(90, 185),  cex=1)

#### Plot confidence intervals for these seven parties.

ldp.upp <- pos.by.pty.2003.3[pos.by.pty.2003.3$pty==1,]$mean.pos + (1.96*pos.by.pty.2003.3[pos.by.pty.2003.3$pty==1,]$se.pos)
ldp.low <- pos.by.pty.2003.3[pos.by.pty.2003.3$pty==1,]$mean.pos - (1.96*pos.by.pty.2003.3[pos.by.pty.2003.3$pty==1,]$se.pos)

conf.ldp <- c(ldp.upp, ldp.low)
conf.ldp

kom.upp <- pos.by.pty.2003.3[pos.by.pty.2003.3$pty==3,]$mean.pos + (1.96*pos.by.pty.2003.3[pos.by.pty.2003.3$pty==3,]$se.pos)
kom.low <- pos.by.pty.2003.3[pos.by.pty.2003.3$pty==3,]$mean.pos - (1.96*pos.by.pty.2003.3[pos.by.pty.2003.3$pty==3,]$se.pos)

conf.kom <- c(kom.upp, kom.low)
conf.kom

jcp.upp <- pos.by.pty.2003.3[pos.by.pty.2003.3$pty==5,]$mean.pos + (1.96*pos.by.pty.2003.3[pos.by.pty.2003.3$pty==5,]$se.pos)
jcp.low <- pos.by.pty.2003.3[pos.by.pty.2003.3$pty==5,]$mean.pos - (1.96*pos.by.pty.2003.3[pos.by.pty.2003.3$pty==5,]$se.pos)

conf.jcp <- c(jcp.upp, jcp.low)
conf.jcp

dpj.upp <- pos.by.pty.2003.3[pos.by.pty.2003.3$pty==52,]$mean.pos + (1.96*pos.by.pty.2003.3[pos.by.pty.2003.3$pty==52,]$se.pos)
dpj.low <- pos.by.pty.2003.3[pos.by.pty.2003.3$pty==52,]$mean.pos - (1.96*pos.by.pty.2003.3[pos.by.pty.2003.3$pty==52,]$se.pos)

conf.dpj <- c(dpj.upp, dpj.low)
conf.dpj

sdp.upp <- pos.by.pty.2003.3[pos.by.pty.2003.3$pty==58,]$mean.pos + (1.96*pos.by.pty.2003.3[pos.by.pty.2003.3$pty==58,]$se.pos)
sdp.low <- pos.by.pty.2003.3[pos.by.pty.2003.3$pty==58,]$mean.pos - (1.96*pos.by.pty.2003.3[pos.by.pty.2003.3$pty==58,]$se.pos)

conf.sdp <- c(sdp.upp, sdp.low)
conf.sdp

cons.upp <- pos.by.pty.2003.3[pos.by.pty.2003.3$pty==81,]$mean.pos + (1.96*pos.by.pty.2003.3[pos.by.pty.2003.3$pty==81,]$se.pos)
cons.low <- pos.by.pty.2003.3[pos.by.pty.2003.3$pty==81,]$mean.pos - (1.96*pos.by.pty.2003.3[pos.by.pty.2003.3$pty==81,]$se.pos)

conf.cons <- c(cons.upp, cons.low)
conf.cons

### ORDER WHEN USE "separate_ideal_covars_signs_new.csv"

lines(x=c(ldp.upp, ldp.low), y=c(6,6), lwd=2)
lines(x=c(cons.upp, cons.low), y=c(2,2), lwd=2)
lines(x=c(kom.upp, kom.low), y=c(1,1), lwd=2)
lines(x=c(dpj.upp, dpj.low), y=c(4,4), lwd=2)
lines(x=c(sdp.upp, sdp.low), y=c(3,3), lwd=2)
lines(x=c(jcp.upp, jcp.low), y=c(5,5), lwd=2)

# 2005

pos.by.pty.2005 <- as.data.frame(as.matrix(by(mer.05, mer.05$pty, function(x) mean(x[,2]))))
se <- function(x) sqrt(var(x)/length(x))
se.by.pty.2005 <- by(mer.05, mer.05$pty, function(x) se(x[,2]))

pos.by.pty.2005.2 <- cbind(as.vector(pos.by.pty.2005), as.vector(se.by.pty.2005), rownames(pos.by.pty.2005)) ## attachs rownames on as another column.
colnames(pos.by.pty.2005.2) <- c("mean.pos", "se.pos", "pty")
pos.by.pty.2005.2
pos.by.pty.2005.3 <- pos.by.pty.2005.2[order(pos.by.pty.2005.2$mean.pos),]
pos.by.pty.2005.3

pos.by.pty.2005.3$ptyname <- rep(NA, nrow(pos.by.pty.2005))

# assign actual names here
pos.by.pty.2005.3[pos.by.pty.2005.3$pty==1,]$ptyname <- "LDP"
pos.by.pty.2005.3[pos.by.pty.2005.3$pty==3,]$ptyname <- "Komeito"
pos.by.pty.2005.3[pos.by.pty.2005.3$pty==5,]$ptyname <- "JCP"
pos.by.pty.2005.3[pos.by.pty.2005.3$pty==52,]$ptyname <- "DPJ"
pos.by.pty.2005.3[pos.by.pty.2005.3$pty==58,]$ptyname <- "SDP"
pos.by.pty.2005.3[pos.by.pty.2005.3$pty==91,]$ptyname <- "PNP"
pos.by.pty.2005.3[pos.by.pty.2005.3$pty==92,]$ptyname <- "NNP"

pos.by.pty.2005.3
range(pos.by.pty.2005.3$mean.pos)

# graphing it:

dotchart(pos.by.pty.2005.3[pos.by.pty.2005.3$pty==1|
                             pos.by.pty.2005.3$pty==3|
                             pos.by.pty.2005.3$pty==5|
                             pos.by.pty.2005.3$pty==52|
                             pos.by.pty.2005.3$pty==58|
                             pos.by.pty.2005.3$pty==91|
                             pos.by.pty.2005.3$pty==92,]$mean.pos, 
         labels=pos.by.pty.2005.3[pos.by.pty.2005.3$pty==1|
                                    pos.by.pty.2005.3$pty==3|
                                    pos.by.pty.2005.3$pty==5|
                                    pos.by.pty.2005.3$pty==52|
                                    pos.by.pty.2005.3$pty==58|
                                    pos.by.pty.2005.3$pty==91|
                                    pos.by.pty.2005.3$pty==92,]$ptyname, 
         pch=20,
         xlab="Number of Words (2005)", xlim=c(90, 220), cex=1)

#### Plot confidence intervals for these seven parties.

ldp.upp <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==1,]$mean.pos + (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==1,]$se.pos)
ldp.low <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==1,]$mean.pos - (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==1,]$se.pos)

conf.ldp <- c(ldp.upp, ldp.low)
conf.ldp

kom.upp <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==3,]$mean.pos + (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==3,]$se.pos)
kom.low <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==3,]$mean.pos - (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==3,]$se.pos)

conf.kom <- c(kom.upp, kom.low)
conf.kom

jcp.upp <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==5,]$mean.pos + (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==5,]$se.pos)
jcp.low <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==5,]$mean.pos - (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==5,]$se.pos)

conf.jcp <- c(jcp.upp, jcp.low)
conf.jcp

dpj.upp <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==52,]$mean.pos + (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==52,]$se.pos)
dpj.low <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==52,]$mean.pos - (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==52,]$se.pos)

conf.dpj <- c(dpj.upp, dpj.low)
conf.dpj

sdp.upp <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==58,]$mean.pos + (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==58,]$se.pos)
sdp.low <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==58,]$mean.pos - (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==58,]$se.pos)

conf.sdp <- c(sdp.upp, sdp.low)
conf.sdp

pnp.upp <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==91,]$mean.pos + (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==91,]$se.pos)
pnp.low <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==91,]$mean.pos - (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==91,]$se.pos)

conf.pnp <- c(pnp.upp, pnp.low)
conf.pnp

nnp.upp <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==92,]$mean.pos + (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==92,]$se.pos)
nnp.low <- pos.by.pty.2005.3[pos.by.pty.2005.3$pty==92,]$mean.pos - (1.96*pos.by.pty.2005.3[pos.by.pty.2005.3$pty==92,]$se.pos)

conf.nnp <- c(nnp.upp, nnp.low)
conf.nnp

### need to put these on at the end, because it is already sorted in terms of left and right.
lines(x=c(nnp.upp, nnp.low), y=c(5,5), lwd=2)
lines(x=c(kom.upp, kom.low), y=c(2,2), lwd=2)
lines(x=c(ldp.upp, ldp.low), y=c(6,6), lwd=2)
lines(x=c(pnp.upp, pnp.low), y=c(1,1), lwd=2)
lines(x=c(dpj.upp, dpj.low), y=c(4,4), lwd=2)
lines(x=c(sdp.upp, sdp.low), y=c(3,3), lwd=2)
lines(x=c(jcp.upp, jcp.low), y=c(7,7), lwd=2)

# 2009

pos.by.pty.2009 <- as.data.frame(as.matrix(by(mer.09, mer.09$pty, function(x) mean(x[,2]))))
se <- function(x) sqrt(var(x)/length(x))
se.by.pty.2009 <- by(mer.09, mer.09$pty,  function(x) se(x[,2]))

pos.by.pty.2009.2 <- cbind(as.vector(pos.by.pty.2009), as.vector(se.by.pty.2009), rownames(pos.by.pty.2009)) ## attachs rownames on as another column.
colnames(pos.by.pty.2009.2) <- c("mean.pos", "se.pos", "pty")
pos.by.pty.2009.2
pos.by.pty.2009.3 <- pos.by.pty.2009.2[order(pos.by.pty.2009.2$mean.pos),]
pos.by.pty.2009.3

pos.by.pty.2009.3$ptyname <- rep(NA, nrow(pos.by.pty.2009))

# assign actual names here
pos.by.pty.2009.3[pos.by.pty.2009.3$pty==1,]$ptyname <- "LDP"
pos.by.pty.2009.3[pos.by.pty.2009.3$pty==3,]$ptyname <- "Komeito"
pos.by.pty.2009.3[pos.by.pty.2009.3$pty==5,]$ptyname <- "JCP"
pos.by.pty.2009.3[pos.by.pty.2009.3$pty==52,]$ptyname <- "DPJ"
pos.by.pty.2009.3[pos.by.pty.2009.3$pty==58,]$ptyname <- "SDP"
pos.by.pty.2009.3[pos.by.pty.2009.3$pty==91,]$ptyname <- "PNP"
pos.by.pty.2009.3[pos.by.pty.2009.3$pty==95,]$ptyname <- "YP"

range(pos.by.pty.2009.3$mean.pos)

# graphing it:

dotchart(pos.by.pty.2009.3[pos.by.pty.2009.3$pty==1|
                             pos.by.pty.2009.3$pty==3|
                             pos.by.pty.2009.3$pty==5|
                             pos.by.pty.2009.3$pty==52|
                             pos.by.pty.2009.3$pty==58|
                             pos.by.pty.2009.3$pty==91|
                             pos.by.pty.2009.3$pty==95,]$mean.pos, 
         labels=pos.by.pty.2009.3[pos.by.pty.2009.3$pty==1|
                                    pos.by.pty.2009.3$pty==3|
                                    pos.by.pty.2009.3$pty==5|
                                    pos.by.pty.2009.3$pty==52|
                                    pos.by.pty.2009.3$pty==58|
                                    pos.by.pty.2009.3$pty==91|
                                    pos.by.pty.2009.3$pty==95,]$ptyname, 
         pch=20,
         xlab="Number of Words (2009)", xlim=c(110, 230),  cex=1)

#### Plot confidence intervals for these seven parties.

ldp.upp <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==1,]$mean.pos + (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==1,]$se.pos)
ldp.low <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==1,]$mean.pos - (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==1,]$se.pos)

conf.ldp <- c(ldp.upp, ldp.low)
conf.ldp

kom.upp <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==3,]$mean.pos + (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==3,]$se.pos)
kom.low <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==3,]$mean.pos - (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==3,]$se.pos)

conf.kom <- c(kom.upp, kom.low)
conf.kom

jcp.upp <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==5,]$mean.pos + (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==5,]$se.pos)
jcp.low <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==5,]$mean.pos - (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==5,]$se.pos)

conf.jcp <- c(jcp.upp, jcp.low)
conf.jcp

dpj.upp <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==52,]$mean.pos + (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==52,]$se.pos)
dpj.low <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==52,]$mean.pos - (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==52,]$se.pos)

conf.dpj <- c(dpj.upp, dpj.low)
conf.dpj

sdp.upp <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==58,]$mean.pos + (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==58,]$se.pos)
sdp.low <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==58,]$mean.pos - (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==58,]$se.pos)

conf.sdp <- c(sdp.upp, sdp.low)
conf.sdp

pnp.upp <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==91,]$mean.pos + (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==91,]$se.pos)
pnp.low <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==91,]$mean.pos - (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==91,]$se.pos)

conf.pnp <- c(pnp.upp, pnp.low)
conf.pnp

yp.upp <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==95,]$mean.pos + (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==95,]$se.pos)
yp.low <- pos.by.pty.2009.3[pos.by.pty.2009.3$pty==95,]$mean.pos - (1.96*pos.by.pty.2009.3[pos.by.pty.2009.3$pty==95,]$se.pos)

conf.yp <- c(yp.upp, yp.low)
conf.yp

lines(x=c(ldp.upp, ldp.low), y=c(6,6), lwd=2)
lines(x=c(kom.upp, kom.low), y=c(4,4), lwd=2)
lines(x=c(yp.upp, yp.low), y=c(5,5), lwd=2)
lines(x=c(pnp.upp, pnp.low), y=c(1,1), lwd=2)
lines(x=c(sdp.upp, sdp.low), y=c(3,3), lwd=2)
lines(x=c(dpj.upp, dpj.low), y=c(2,2), lwd=2)
lines(x=c(jcp.upp, jcp.low), y=c(7,7), lwd=2)

